home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / amoslist.lzh / AMOSLIST / 000335_amos-request@svcs1.digex.net_Tue Sep 26 08:44:18 1995.msg < prev    next >
Internet Message Format  |  1995-10-02  |  3KB

  1. Received: from svcs1.digex.net (svcs1.digex.net [204.91.197.224]) by mail1.access.digex.net (8.6.12/8.6.12) with ESMTP id IAA14568;  for <mcox@access.digex.net> ; Tue, 26 Sep 1995 08:44:17 -0400
  2. Received: (from daemon@localhost) by svcs1.digex.net (8.6.12/8.6.12) id FAA09307 for amos-out; Tue, 26 Sep 1995 05:29:31 -0400
  3. Received: from mail1.access.digex.net (mail1.access.digex.net [205.197.247.2]) by svcs1.digex.net (8.6.12/8.6.12) with ESMTP id FAA09303 for <amos-list@svcs1.digex.net>; Tue, 26 Sep 1995 05:29:29 -0400
  4. Received: from sol.labein.es (sol.labein.es [150.241.6.51]) by mail1.access.digex.net (8.6.12/8.6.12) with SMTP id FAA04949;  for <amos-list@access.digex.net> ; Tue, 26 Sep 1995 05:29:16 -0400
  5. Received: by sol.labein.es (4.1/SMI-4.1)
  6.     id AA17759; Tue, 26 Sep 95 10:28:07 +0100
  7. Date: 26 Sep 95 10:28 +0100
  8. From: Angel Alvarez <angel@labein.es>
  9. To: <amos-list@access.digex.net>
  10. Message-Id: <349*angel@labein.es>
  11. Status: RO
  12. X-Status: 
  13.  
  14. On Tue Sep 26 09:44:50 1995, Ben Wyatt wrote a procedure to draw a part of a
  15. circle. This one:
  16.  
  17. BW> Procedure _PART_OF_CIRCLE[R,A,B,X,Y,STP]
  18. BW>   Gr Locate X+Sin(A)*R,Y-Cos(B)*R
  19. BW>   For N=A+STP To A+B Step STP
  20. BW>      Draw To X+Sin(N)*R,Y-Cos(N)*R
  21. BW>   Next N
  22. BW> EndProc
  23. BW> Where:
  24. BW>   R=Radius
  25. BW>   A=Start angle
  26. BW>   B=Degrees to rotate
  27. BW> X+Y=Centre of circle
  28. BW> STP=Accuracy (small=slow but accurate, large=fast but less accurate)
  29.  
  30. I think it is better to avoid sinus and cosinus computations. Reserve an array
  31. (or a bank ;-)) with a table of sinus and cosinus values
  32.  
  33.    Dim S_VAL#(360), C_VAL#(360)
  34.  
  35. and compute the sinus and cosinus in each degree from 0 to 360
  36.  
  37.    Degree
  38.    For A=0 To 360 : S_VAL#(A) = Sin(A) : C_VAL#(A) = Cos(A) : Next
  39.  
  40. Then, the Ben's procedure can be modified for better performance
  41.  
  42.    Procedure _PART_OF_CIRCLE[R,A,B,X,Y,STP]
  43.       Shared S_VAL#(), C_VAL#()
  44.       Gr Locate X+S_VAL#(A)*R,Y-C_VAL#(B)*R
  45.       For N = A+STP To A+B Step STP
  46.          Draw To X+S_VAL#(N)*R,Y-C_VAL#(N)*R
  47.       Next N
  48.    EndProc
  49.  
  50. Some mistakes are possibles (and very probables). I don't have my Amiga here,
  51. at work.
  52.  
  53. ==============================================================================
  54.                      _/_/_/ _/     _/_/  _/_/_/    _/_/_/ _/_/_/ _/_/_/ _/_/_/
  55.  Angel Alvarez      _/  _/ _/     _/ _/   _/      _/     _/  _/ _/       _/
  56.   (Aldi Soft)      _/_/_/ _/     _/  _/  _/      _/_/_/ _/  _/ _/_/     _/
  57. angel@labein.es   _/  _/ _/     _/ _/   _/          _/ _/  _/ _/       _/
  58.                  _/  _/ _/_/_/ _/_/  _/_/_/    _/_/_/ _/_/_/ _/       _/
  59. ==============================================================================
  60. "When we get there gonna jump in the air. No one'll see us 'cause there's
  61.  nobody there. After all, you know we really don't care. Hold on, I'm gonna
  62.  take you there" - from "Hard To Say I'm Sorry/Get Away" (Chicago)